$(function () {
    var pathName=window.document.location.pathname;
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    //关闭对话框
    $("#Cancel").click(function () {
        Type.close();
    });

    //初始化文件类型
    Type.init();
    //点击type新增
    $("#addType").click(function () {
        $(this).prop("style","display: none;");
        $(this).next().prop("style","display: block;padding: 2px 10px");
        $(this).next().next().prop("style","display: block;height: 18px;");
        $(this).next().next().next().prop("style","display: block;");
        $(this).next().next().next().next().prop("style","display: block;");
        $(this).next().next().next().next().next().prop("style","display: block;");
        $(this).parent().prop("style","height: 150px;");
    });
    //点击其他地方隐藏新增框
    $("body").mousedown(function (event) {
        if (!( $(event.target).parents(".panel-heading").length > 0)) {
            $(".addNewType").prop("style","display: none;")
            $(".panel-heading").prop("style","height: 40px;")
            $("#addType").prop("style","display: block;")
        }
    });
    //点击type提交新增
    $("#addTypeFinish").click(function () {
        Type.clearData();
        Type.collectNewData();
        $.ajax({
            type:'post',
            contentType:'application/json',
            dataType:'json',
            url:projectName+'/type/addOne',
            data:JSON.stringify(Type.reqData),
            success:function (data) {
                if(data.success){
                    Type.init();
                    Feng.success(data.msg||"新增类型成功!");
                } else {
                    Feng.error(data.msg||"新增类型失败!");
                }
            }
        })
        $(".addNewType").prop("style","display: none;")
        $(".panel-heading").prop("style","height: 40px;")
        $("#addType").prop("style","display: block;")
    });
    //点击type编辑
    $(".insertTypeList").on("click",".typeRightAEdit",function () {
        $(this).next().next().prop("style","display: block;");
    });
    //点击其他地方隐藏编辑框
    $("body").mousedown(function (event) {
        if (!( $(event.target).parents(".typeLeftDiv").length > 0)) {
            Type.hideEditDiv();
        }
    });
    //点击 完成编辑
    $(".insertTypeList").on("click",".finishEditExePath",function () {
        var typeId = $(this).parent().parent().parent().parent().prev().text();
        var reqData = JSON.stringify({"id":typeId,"exePath":$(this).parent().prev().prev().val(),"isHtml":$(this).parent().prev().val()})
        $.ajax({
            type:'post',
            contentType:'application/json',
            dataType:'json',
            url:projectName+'/type/editOne',
            data:reqData,
            success:function (data) {
                if(data.success){
                    Type.init();
                    Feng.success(data.msg||"编辑成功!");
                } else {
                    Feng.error(data.msg||"编辑失败!");
                }
            }
        })
    });
    //点击type删除
    $(".insertTypeList").on("click",".typeRightADelete",function () {
        var idArr = new Array;
        idArr.push($(this).parent().prev().text());
        $.ajax({
            type:'post',
            traditional:true,
            dataType:'json',
            url:projectName+'/type/delByIds',
            data:{"typeIds":idArr},
            success:function (data) {
                if(data.success){
                    Type.init();
                    Feng.success(data.msg||"删除成功!");
                } else {
                    Feng.error(data.msg||"删除失败!");
                }
            }
        })
    });


});

var Type = {
    reqData:{},
    tipTime : 1500,
}
//初始化文件类型
Type.init= function () {
    var pathName=window.document.location.pathname;
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    $.ajax({
        type:'post',
        contentType:'application/json',
        dataType:'json',
        url:projectName+'/type/getAll',
        success:function (data) {
            Type.insertType(data);
        }
    })
}
//关闭此对话框
Type.close = function () {
    parent.layer.close(window.parent.Type.layerIndex);
}

//清除数据
Type.clearData = function () {
    this.reqData = {};
}
//收集数据
Type.collectData = function () {
    this.set('typeId','id').set('exePath');
}
//收集新增数据
Type.collectNewData = function () {
    this.set('typeSuffix2','typeSuffix').set('exePath2','exePath').set("isHtml2","isHtml");
}
//收集数据--按照id,第一个参数是input的id，第二个若没有第一个参数必须是实体的属性名，若有则为实体的属性名，即input的id可以随意起名
Type.set = function (key,modelKey,value) {
    if(typeof value == "undefined"){
        if(typeof $("#" + key).val() =="undefined"){
            var str="";
            var ids="";
            $("input[name='"+key+"']:checkbox").each(function(){
                if(true == $(this).is(':checked')){
                    str+=$(this).val()+",";
                }
            });
            if(str){
                if(str.substr(str.length-1)== ','){
                    ids = str.substr(0,str.length-1);
                }
            }else{
                $("input[name='"+key+"']:radio").each(function(){
                    if(true == $(this).is(':checked')){
                        ids=$(this).val()
                    }
                });
            }
            if(typeof modelKey == "undefined"){
                this.reqData[key] = ids;
            }else {
                this.reqData[modelKey] = ids;
            }
        }else{
            if(typeof modelKey == "undefined"){
                this.reqData[key]= $("#" + key).val();
            }else {
                this.reqData[modelKey] = $("#" + key).val();
            }
        }
    }
    return this;
}
Type.insertType = function (data) {
    $(".insertTypeList").empty();
    for(var index in data.data){
        console.log(data.data)
        $(".insertTypeList").append("<a style='display: none'>"+data.data[index].id+"</a><div class='typeLeftDiv'style='border: 1px solid #005cc5;float: left;font-size: medium'><a class='typeRightASelect' float: left'>"+data.data[index].typeSuffix+"</a><a class='typeRightAEdit glyphicon glyphicon-pencil'style='padding-left:6px;color: #032f62'></a><a class='typeRightADelete glyphicon glyphicon-remove'style='padding-left:3px;color: red'></a><div class='typeEditDiv'><div class='input-group'><input type='text' class='form-control' placeholder='文件打开程序路径(不填则使用默认程序)' value='"+data.data[index].exePath+"'><input type='text' class='form-control' placeholder='是否可渲染为html（是/否，默认否）' value='"+data.data[index].isHtml+"'><span class='input-group-btn'><button class='btn btn-default finishEditExePath' type='button'>完成编辑</button></span></div></div></div>")
    }
};

//点击其他地方隐藏编辑框
Type.hideEditDiv = function () {
    $(".typeEditDiv").prop("style","display: none;")
};
